/**
 * Copyright (C) 2025 pony working team
 * SPDX-License-Identifier: MulanPSL-2.0
 */

/* define to prevent recursive inclusion -------------------------------------*/
#ifndef __PONY_LCD_H__
#define __PONY_LCD_H__

/* includes (standard library, system) ---------------------------------------*/
/* includes (other library) --------------------------------------------------*/
/* includes (project) --------------------------------------------------------*/
#include <hal_lcd.h>
/* includes (local) ----------------------------------------------------------*/
#include <pony/lcd/lcd_color.h>

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* defines -------------------------------------------------------------------*/
/* typedefs ------------------------------------------------------------------*/
/* macro ---------------------------------------------------------------------*/
/* inlines -------------------------------------------------------------------*/
/* externs -------------------------------------------------------------------*/

extern void lcd_show_char(hal_lcd_t *lcd, uint32_t x, uint32_t y, uint8_t num, uint32_t fc,
                          uint32_t bc, uint8_t sizey, uint8_t mode);
extern void lcd_show_string(hal_lcd_t *lcd, uint32_t x, uint32_t y, const uint8_t *p, uint32_t fc,
                            uint32_t bc, uint8_t sizey, uint8_t mode);
extern void lcd_show_int_num(hal_lcd_t *lcd, uint32_t x, uint32_t y, uint32_t num, uint8_t len,
                             uint32_t fc, uint32_t bc, uint8_t sizey);
extern void lcd_show_float_num(hal_lcd_t *lcd, uint32_t x, uint32_t y, float num, uint8_t len,
                               uint32_t fc, uint32_t bc, uint8_t sizey);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __PONY_LCD_H__ */
